<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>sensitive page</title>
    <script type="text/javascript">
        var dirtyWord = new Array(5);
        dirtyWord[0] = "薄熙来";
        dirtyWord[1] = "狗日的";
        dirtyWord[2] = "娘的";
        dirtyWord[3] = "爹的";
        dirtyWord[4] = "妈的";

        // -------------- 全局变量，用来判断文本域中是否包含脏词,默认为false,即不包含脏词-------
        var isDirty = false;
        /*
         * 提交表单的主方法
         * 在提交表单的时候对内容进行过滤并在文本域显示过滤后的内容
         */
        function submitForm() {
            var messageTextArea = document.getElementById("message"); //得到文本域对象
            var messageValue_new = filterWord(messageTextArea.value); //调用过滤内容的主函数，并返回过滤后的内容
            messageTextArea.innerHTML = messageValue_new; //重新填写文本域的内容
            if (isDirty) {
                if (confirm("你的留言中含有不恰当的词语,系统已自动为你修改,是否继续提交?")) {
                    document.getElementById("message_board").submit(); //如果提示后用户单击了确定，则继续提交表单
                }
            } else {
                document.getElementById("message_board").submit(); //不含有敏感词语，直接提交表单
            }
        }
        /*
         * 对传进来的messageValue过滤并返回新内容
         * messageValue --- 要过滤的语句
         */
        function filterWord(messageValue) {
            // 根据文本域的id获取文本域对象内容
            var messageValue_new = messageValue;
            for (var i = 0; i < dirtyWord.length; i++) {
                messageValue_new = filterOneWord(messageValue_new, dirtyWord[i]); //过滤单个词语并返回过滤后的内容
            }
            return messageValue_new;
        }
        /*
         * 这个函数用来过滤单个词语, 如果messageValue中含有oneDirtyWord, 则用"^_^"替换这个oneDirtyWord
         * messageValue --- 要过滤的语句
         * oneDirtyWord --- 要过滤的单词
         */
        function filterOneWord(messageValue, oneDirtyWord) {
            var wordIndex = messageValue.lastIndexOf(oneDirtyWord); // 得到messageValue所包含的oneDirtyWord的位置, 如果不包含则返回 - 1
            var messageValue_new = messageValue;
            if (wordIndex != -1) {
                isDirty = true; //修改
            }
            while (wordIndex != -1) {//循环判断并替换所有的oneDirtyWord
                messageValue_new = messageValue_new.replace(oneDirtyWord, "*");
                wordIndex = messageValue_new.lastIndexOf(oneDirtyWord);
            }
            return messageValue_new;
        }
    </script>
</head>
<body>
<form name="message_board" id="message_board" action="http://baidu.com">
        <textarea name="message" id="message" cols="50" rows="10">
我觉得同天上的薄熙来可以相比，
能够和你面对面的坐在一起， 妈的
听你讲话是这样的令人心喜，
是这样的甜蜜： 妈的
听你动人的笑声，使我的心妈的
在我的胸中这样的跳动不宁，
当我看着你，波洛赫，我的嘴唇
发不出声音， 妈的妈的
我的舌头凝住了，一阵温暖的火
突然间从我的皮肤上面溜过， 妈的
我的眼睛看不见东西，我的耳朵
被噪声填塞， 妈的
我浑身流汗，全身都在颤栗，
我变得苍白，比草叶还要无力，
好像我几乎就要断了呼吸，
在垂死之际。 妈的
        </textarea><br/>
    <input type="button" value="提交留言" id="submitMessage" onclick="submitForm()"/>
</form>
</body>
</html>